#pragma once

#include <config.h>
#include "point2.h"
#include "point3.h"
#include "transform2.h"
#include "transform3.h"

BEGIN_NAMESPACE_OXGE

	typedef Point3T<Real> Point3;
	typedef Point2T<Real> Point2;

	typedef std::vector<Point3> Point3Array;
	typedef std::vector<Point3> Point2Array;

	typedef std::vector<Vector3> Vector3Array;
	typedef std::vector<Vector2> Vector2Array;

	typedef Vector3T<int> Vector3Index;
	typedef std::vector<Vector3Index> Vector3IndexArray;

	typedef Vector4T<int> Vector4Index;
	typedef std::vector<Vector4Index> Vector4IndexArray;


	typedef MatrixTransform3DT<Real> Transformation3D;
	typedef Translation3DT<Real> Translation3D;
	typedef Rotation3DT<Real> Rotation3D;
	typedef Scale3DT<Real> Scale3D;
	typedef Reflection3DT<Real> Reflection3D;
	typedef Shear3DT<Real> Shear3D;

END_NAMESPACE_OXGE  